

<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
  <meta charset="utf-8">
  
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  
  <title>compute stress/atom command &mdash; LIGGGHTS v3.X documentation</title>
  

  
  
  
  

  

  
  
    

  

  
  
    <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
  

  

  
    <link rel="top" title="LIGGGHTS v3.X documentation" href="index.html"/> 

  
  <script src="_static/js/modernizr.min.js"></script>

</head>

<body class="wy-body-for-nav" role="document">

   
  <div class="wy-grid-for-nav">

    
    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
      <div class="wy-side-scroll">
        <div class="wy-side-nav-search">
          

          
            <a href="Manual.html" class="icon icon-home"> LIGGGHTS
          

          
          </a>

          
            
            
              <div class="version">
                v3.X
              </div>
            
          

          
<div role="search">
  <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
    <input type="text" name="q" placeholder="Search docs" />
    <input type="hidden" name="check_keywords" value="yes" />
    <input type="hidden" name="area" value="default" />
  </form>
</div>

          
        </div>

        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
          
            
            
              
            
            
              <ul>
<li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li>
<li class="toctree-l1"><a class="reference internal" href="Section_input_script.html">3. Input Script</a></li>
<li class="toctree-l1"><a class="reference internal" href="Section_commands.html">4. Commands</a></li>
<li class="toctree-l1"><a class="reference internal" href="Section_gran_models.html">5. Contact models</a></li>
<li class="toctree-l1"><a class="reference internal" href="Section_mesh_modules.html">6. Mesh modules</a></li>
<li class="toctree-l1"><a class="reference internal" href="Section_packages.html">7. Packages</a></li>
<li class="toctree-l1"><a class="reference internal" href="Section_howto.html">8. How-to discussions</a></li>
<li class="toctree-l1"><a class="reference internal" href="Section_modify.html">9. Modifying &amp; extending LIGGGHTS(R)-PUBLIC</a></li>
<li class="toctree-l1"><a class="reference internal" href="Section_python.html">10. Python interface to LIGGGHTS(R)-PUBLIC</a></li>
<li class="toctree-l1"><a class="reference internal" href="Section_errors.html">11. Errors</a></li>
</ul>

            
          
        </div>
      </div>
    </nav>

    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">

      
      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
        
          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
          <a href="Manual.html">LIGGGHTS</a>
        
      </nav>


      
      <div class="wy-nav-content">
        <div class="rst-content">
          















<div role="navigation" aria-label="breadcrumbs navigation">

  <ul class="wy-breadcrumbs">
    
      <li><a href="Manual.html">Docs</a> &raquo;</li>
        
      <li>compute stress/atom command</li>
    
    
      <li class="wy-breadcrumbs-aside">
        
            
            <a href="_sources/compute_stress_atom.txt" rel="nofollow"> View page source</a>
          
          <a href="http://www.cfdem.com"> Website</a>
          
            <a href="Section_commands.html#comm" rel="nofollow"> Commands</a>
            
          
        
      </li>
    
  </ul>

  
  <hr/>
  
</div>
          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
           <div itemprop="articleBody">
            
  <div class="section" id="compute-stress-atom-command">
<span id="index-0"></span><h1>compute stress/atom command<a class="headerlink" href="#compute-stress-atom-command" title="Permalink to this headline">¶</a></h1>
<div class="section" id="syntax">
<h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2>
<div class="highlight-python"><div class="highlight"><pre>compute ID group-ID stress/atom general_keyword general_values keyword ...
</pre></div>
</div>
<ul class="simple">
<li>ID, group-ID are documented in <a class="reference internal" href="compute.html"><em>compute</em></a> command</li>
<li>stress/atom = style name of this compute command</li>
<li>general_keywords general_values are documented in <a class="reference external" href="compute.html&quot;">compute</a></li>
<li>zero or more keywords may be appended</li>
<li>keyword = <em>ke</em> or <em>pair</em> or <em>bond</em> or <em>angle</em> or <em>dihedral</em> or <em>improper</em> or <em>kspace</em> or <em>fix</em> or <em>virial</em></li>
</ul>
</div>
<div class="section" id="examples">
<h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2>
<div class="highlight-python"><div class="highlight"><pre>compute 1 mobile stress/atom
compute 1 all stress/atom pair bond
</pre></div>
</div>
</div>
<div class="section" id="description">
<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2>
<p>Define a computation that computes the symmetric per-atom stress
tensor for each atom in a group.  The tensor for each atom has 6
components and is stored as a 6-element vector in the following order:
xx, yy, zz, xy, xz, yz.  See the <a class="reference internal" href="compute_pressure.html"><em>compute pressure</em></a> command if you want the stress tensor
(pressure) of the entire system.</p>
<p>The stress tensor for atom <em>I</em> is given by the following formula,
where <em>a</em> and <em>b</em> take on values x,y,z to generate the 6 components of
the symmetric tensor:</p>
<img alt="_images/stress_tensor.jpg" class="align-center" src="_images/stress_tensor.jpg" />
<p>The first term is a kinetic energy contribution for atom <em>I</em>.  The
second term is a pairwise energy contribution where <em>n</em> loops over the
<em>Np</em> neighbors of atom <em>I</em>, <em>r1</em> and <em>r2</em> are the positions of the 2
atoms in the pairwise interaction, and <em>F1</em> and <em>F2</em> are the forces on
the 2 atoms resulting from the pairwise interaction.  The third term
is a bond contribution of similar form for the <em>Nb</em> bonds which atom
<em>I</em> is part of.  There are similar terms for the <em>Na</em> angle, <em>Nd</em>
dihedral, and <em>Ni</em> improper interactions atom <em>I</em> is part of.  There
is also a term for the KSpace contribution from long-range Coulombic
interactions, if defined.  Finally, there is a term for the <em>Nf</em>
<a class="reference internal" href="fix.html"><em>fixes</em></a> that apply internal constraint forces to atom <em>I</em>.
Currently, only the <code class="xref doc docutils literal"><span class="pre">fix</span> <span class="pre">shake</span></code> and <a class="reference internal" href="fix_rigid.html"><em>fix rigid</em></a> commands contribute to this term.</p>
<div class="admonition warning">
<p class="first admonition-title">Warning</p>
<p class="last">For granular systems, this formular neglects the
contribution of average velocity in the kinetic energy contribution.
This is corrected in the compute ave/euler command (currently no doc
available).</p>
</div>
<p>As the coefficients in the formula imply, a virial contribution
produced by a small set of atoms (e.g. 4 atoms in a dihedral or 3
atoms in a Tersoff 3-body interaction) is assigned in equal portions
to each atom in the set.  E.g. 1/4 of the dihedral virial to each of
the 4 atoms, or 1/3 of the fix virial due to SHAKE constraints applied
to atoms in a a water molecule via the <code class="xref doc docutils literal"><span class="pre">fix</span> <span class="pre">shake</span></code>
command.</p>
<p>If no extra keywords are listed, all of the terms in this formula are
included in the per-atom stress tensor.  If any extra keywords are
listed, only those terms are summed to compute the tensor.  The
<em>virial</em> keyword means include all terms except the kinetic energy
<em>ke</em>.</p>
<p>Note that the stress for each atom is due to its interaction with all
other atoms in the simulation, not just with other atoms in the group.</p>
<p>The <code class="xref doc docutils literal"><span class="pre">dihedral_style</span> <span class="pre">charmm</span></code> style calculates
pairwise interactions between 1-4 atoms.  The virial contribution of
these terms is included in the pair virial, not the dihedral virial.</p>
<p>The KSpace contribution is calculated using the method in
<a class="reference internal" href="#heyes"><span>(Heyes)</span></a> for the Ewald method and by the methodology described
in <a class="reference internal" href="#sirk"><span>(Sirk)</span></a> for PPPM.  The choice of KSpace solver is specified
by the <code class="xref doc docutils literal"><span class="pre">kspace_style</span> <span class="pre">pppm</span></code> command.  Note that for
PPPM, the calcluation requires 6 extra FFTs each timestep that
per-atom stress is calculated.  Thus it can significantly increase the
cost of the PPPM calculation if it is needed on a large fraction of
the simulation timesteps.</p>
<p>Note that as defined in the formula, per-atom stress is the negative
of the per-atom pressure tensor.  It is also really a stress*volume
formulation, meaning the computed quantity is in units of
pressure*volume.  It would need to be divided by a per-atom volume to
have units of stress (pressure), but an individual atom&#8217;s volume is
not well defined or easy to compute in a deformed solid or a liquid.
Thus, if the diagonal components of the per-atom stress tensor are
summed for all atoms in the system and the sum is divided by dV, where
d = dimension and V is the volume of the system, the result should be
-P, where P is the total pressure of the system.</p>
<p>These lines in an input script for a 3d system should yield that
result.  I.e. the last 2 columns of thermo output will be the same:</p>
<div class="highlight-python"><div class="highlight"><pre>compute              peratom all stress/atom
compute              p all reduce sum c_peratom[1] c_peratom[2] c_peratom[3]
variable     press equal -(c_p[1]+c_p[2]+c_p[3])/(3*vol)
thermo_style custom step temp etotal press v_press
</pre></div>
</div>
<p><strong>Output info:</strong></p>
<p>This compute calculates a per-atom array with 6 columns, which can be
accessed by indices 1-6 by any command that uses per-atom values from
a compute as input.  See <a class="reference internal" href="Section_howto.html#howto-8"><span>Section_howto 15</span></a> for an overview of LIGGGHTS(R)-PUBLIC output
options.</p>
<p>The per-atom array values will be in pressure*volume
<a class="reference internal" href="units.html"><em>units</em></a> as discussed above.</p>
</div>
<div class="section" id="restrictions">
<h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div>none</div></blockquote>
</div>
<div class="section" id="related-commands">
<h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2>
<p><a class="reference internal" href="compute_pe.html"><em>compute pe</em></a>, <a class="reference internal" href="compute_pressure.html"><em>compute pressure</em></a></p>
<p><strong>Default:</strong> none</p>
<hr class="docutils" />
<p id="heyes"><strong>(Heyes)</strong> Heyes, Phys Rev B 49, 755 (1994),</p>
<p id="sirk"><strong>(Sirk)</strong> Sirk, Moore, Brown, J Chem Phys, 138, 064505 (2013).</p>
</div>
</div>


           </div>
           <div class="articleComments">
            
           </div>
          </div>
          <footer>
  

  <hr/>

  <div role="contentinfo">
    <p>
        &copy; Copyright 2016, DCS Computing GmbH, JKU Linz and Sandia Corporation.

    </p>
  </div>
  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 

</footer>

        </div>
      </div>

    </section>

  </div>
  


  

    <script type="text/javascript">
        var DOCUMENTATION_OPTIONS = {
            URL_ROOT:'./',
            VERSION:'v3.X',
            LANGUAGE:'None',
            COLLAPSE_INDEX:false,
            FILE_SUFFIX:'.html',
            HAS_SOURCE:  true,
            SOURCELINK_SUFFIX: ''
        };
    </script>
      <script type="text/javascript" src="_static/jquery.js"></script>
      <script type="text/javascript" src="_static/underscore.js"></script>
      <script type="text/javascript" src="_static/doctools.js"></script>

  

  
  
    <script type="text/javascript" src="_static/js/theme.js"></script>
  

  
  
  <script type="text/javascript">
      jQuery(function () {
          SphinxRtdTheme.StickyNav.enable();
      });
  </script>
   

</body>
</html>